package bsh.dyn;

/**
 * {@link ActualParameter} that represents a null valu
 * 
 * @author takeshi
 */
public enum NullParameter implements ActualParameter {

    INSTANCE {

        /**
         * {@inheritDoc}
         */
        public boolean isPrimitive() {
            return false;
        }

        /**
         * {@inheritDoc}
         */
        public boolean isPrimitiveWrapper() {
            return false;
        }

        /**
         * {@inheritDoc}
         */
        public Class<?> getJavaType() {
            return Object.class;
        }

        /**
         * {@inheritDoc}
         */
        public boolean isNull() {
            return true;
        }

        /**
         * {@inheritDoc}
         */
        public ActualParameter[] getDeclaredInterfaces() {
            return new ActualParameter[]{};
        }

        /**
         * {@inheritDoc}
         */
        public ActualParameter getSuperType() {
            return INSTANCE;
        }

        /**
         * {@inheritDoc}
         */
        public boolean isSuperClassOf(Parameter another) {
            return false;
        }

    }

}